Skip to content

Fix SSI coffee transformer validity#483

Open
chubes4 wants to merge 9 commits into
trunkfrom
fix/ssi-coffee-transformer-integration
Open

Fix SSI coffee transformer validity#483
chubes4 wants to merge 9 commits into
trunkfrom
fix/ssi-coffee-transformer-integration

Conversation

@chubes4

@chubes4 chubes4 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • normalize PHP transformer block support serialization so generated markup validates in the editor
  • improve navigation submenu conversion, RichText anchor/SVG handling, runtime-island metadata, and typography font-family analysis
  • add/update contract, unit, and parity fixture coverage for the SSI coffee fixture regressions

Verification

AI assistance

  • AI assistance: Yes
  • Tool(s): GPT-5.5 via OpenCode
  • Used for: Integrated candidate PHP transformer fixes, ran local and Lab verification, and drafted this PR description.

@chubes4

chubes4 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Restaurant fixture follow-up is included in commit d743887.

Verification:

Remaining acceptable findings are mostly inline SVG/core-html preservation, one script runtime island, one SSI diagnostic blind spot, and visual parity mismatch at 16.58% overlap mismatch.

@chubes4

chubes4 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Added generic business-hours/contact structure follow-up in commit aae02f7.

What changed:

  • business-hours day/time rows now convert to editable label/value core/columns instead of flattened paragraphs
  • contact-only tel:/mailto: clusters with weak links signals no longer become core/navigation; explicit nav/menu contexts still do
  • added focused parity fixtures for both paths

Verification:

@chubes4

chubes4 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Ran the next fixture candidate, 8-local-service-business, against the current branch.

Verification:

Next generic targets from this fixture are logo/SVG link decomposition, inline SVG icon handling, and form materialization (form#contact-form) rather than block validity.

@chubes4

chubes4 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Added two more generic PHP-transformer cycles and verified them through local tests + Lab.

Decorative SVG labels:

Form fallback contract:

  • Commit 7f45a0f enriches provider-neutral html_form_fallback metadata: form identity/attrs, explicit control order, cleaned labels, submit text, validation/default state, select placeholder options, and adjacent success-panel metadata.
  • Block output remains preserved fallback; this gives SSI/downstream materializers a stable form contract without pretending arbitrary forms are native core blocks.
  • Local tests: composer test passed with 192 parity fixtures.
  • Event/conference Lab run ssi-event-conference-form-contract-20260703a: failed_fixture_count=0, editor_invalid_count=0, invalid_block_count=0, editor_valid_block_rate=1, native_conversion_rate=1.
  • Summary artifact: https://homeboy-artifacts-tunnel.dev.chubes.net/summary.json

Remaining generic opportunities from the event fixture: schedule/session patterns, speaker/ticket cards, FAQ accordion-to-native details, and better SVG/icon diagnostics/tokenization.

@chubes4

chubes4 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Added another generic PHP-transformer cycle for event/session structure.

Schedule/label-value rows:

  • Commit 9e93898 recognizes conservative two-part label/value rows (row, pair, session, schedule, detail, etc.) and emits valid core/columns / core/column blocks instead of flattening time/title or label/value text.
  • Reuses the proven business-hours row serialization path and keeps interactive tabs/shells untouched.
  • Added parity coverage in html-schedule-label-value-rows.json for session time/title rows and generic detail pairs.

Verification:

  • Local: php -l src/HtmlToBlocks/HtmlTransformer.php passed.
  • Local: composer test passed with 193 parity fixtures.
  • Event/conference Lab run ssi-event-conference-label-value-20260703a: failed_fixture_count=0, editor_invalid_count=0, invalid_block_count=0, editor_valid_block_rate=1, native_conversion_rate=1.

Remaining good next targets: FAQ button/answer accordion mapping to native details/accordion where safe, speaker/ticket pricing-card decomposition, and SVG icon diagnostics/tokenization.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant